define (require, exports, module) ->
  # 加载样式
  require 'mods/pay/pay_three/pay_three_css.css'
  # 定义组件
  module.exports = Vue.extend

    # 组件模板
    template: require 'mods/pay/pay_three/pay_three_tpl.js'

    # 定义变量
    data: () ->
      # 是否加载完成
      loadedSucc: false
      # 加载失败提示语
      loadedFail: ''
      # 在线支付产品信息
      buyProdInfo:
        p_name: '中兵广发定增1号'
        p_code: 'GF0292'
        p_risk: '高风险'
        pay_money: '50000'
        _id: '589d73665e0e342aac74e7ca'
      message: 'abc'

    # 定义方法
    methods:

      # 插件加载
      pluginLoad: () ->
        self = @

      # 加载成功
      loadedSuccFunc: () ->
        self = @
        self.$nextTick () ->
          # 加载成功标识
          self.loadedSucc = true
          # 插件加载
          self.pluginLoad()

      # 查看详情
      goDetail: (_id) ->
        self = @
        self.$router.push '/product/' + _id

      # 查看订单
      gotoOrder: () ->
        self = @
        self.$router.push '/info_order'

    # 计算属性
    computed:

      # 加载中的样式
      loaddingClass: () ->
        self = @
        if self.loadedSucc
          return 'c-hidden'
        if self.loadedFail
          return 'c-hidden'
        return ''

      # 加载成功的样式
      loadedSuccClass: () ->
        self = @
        return if self.loadedSucc then '' else 'c-vhidden'

      # 加载失败的样式
      loadedFailClass: () ->
        self = @
        return if self.loadedFail then '' else 'c-hidden'

    # 引入组件
    components:
      'c-pay-step': require 'mods/pay/pay_step/pay_step_mod'

    # 组件初始化
    mounted: () ->
      self = @
      # 加载成功 - 处理函数
      return self.loadedSuccFunc()